package service;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;

import model.Categoria;

public class CategoriaDAO extends GenericDAOImpl<Categoria> {
	
	public CategoriaDAO(EntityManager em) {
		super.entityManager = em;
	}
	
	public Categoria criaCategoria(String nome, String descricao) {
		Categoria cat = new Categoria();
		cat.setDescricao(descricao);
		cat.setNome(nome);
		
		insereObjeto(cat);
		
		return cat;
	}
	

	@Override
	public Categoria localizaObjeto(Long objId) {
		Categoria obj = entityManager.getReference(Categoria.class, objId);
		return obj;
	}

	@Override
	public List<Categoria> listaObjetos() {
		TypedQuery<Categoria> query = entityManager.createQuery(
				"SELECT e FROM Categoria e", Categoria.class);
		return query.getResultList();
	}

	@Override
	public void deletaObjetos() {
		TypedQuery<Categoria> query = entityManager.createQuery(
				"DELETE FROM Categoria", Categoria.class);
		query.executeUpdate();
	}

}
